//
//  Regular.m
//  CallTexi
//
//  Created by karlcool on 14-4-1.
//  Copyright (c) 2014年 XXX. All rights reserved.
//

#import "Regular.h"

@implementation Regular

+ (BOOL)validateMobile:(NSString *)mobileNum
{
    //中国移动：134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";

    //中国联通：130,131,132,152,155,156,185,186
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";

    //中国电信：33,1349,153,180,189
    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";

    //大陆地区固话及小灵通
    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
    
    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
    
    if (([regextestmobile evaluateWithObject:mobileNum] == YES)
        || ([regextestcm evaluateWithObject:mobileNum] == YES)
        || ([regextestct evaluateWithObject:mobileNum] == YES)
        || ([regextestcu evaluateWithObject:mobileNum] == YES))
    {
        return YES;
    }
    else
    {
        return NO;
    }
}

+ (BOOL)validatePassword:(NSString *)password {
    NSString * regex = @"^[A-Za-z0-9]{6,15}$";
    NSPredicate *passwordTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return [passwordTest evaluateWithObject:password];
}

+ (BOOL)validateCarNo:(NSString *)carNo
{
    NSString *carRegex = @"[\u4e00-\u9fa5][A-Z](\\s)?[A-Z0-9]{5}";
    NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];
    NSLog(@"carTest is %@",carTest);
    return [carTest evaluateWithObject:carNo];
}

@end
